package com.hdax.mappers;

import com.hdax.entity.Contractfile;
import com.hdax.entity.EmployeeInfo;
import com.hdax.utils.ResultUtil;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * contractfile mapepr
 *
 * @author Aizen
 * @date 2022/05/19
 */
@Repository
@Mapper
public interface ContractfileMapepr {


    /**
     * 模糊查询加分页
     * @param offset
     * @param limit
     * @param contractname
     * @return
     */
    List<Contractfile> findByName(@Param("offset")int offset, @Param("limit")int limit,@Param("contractname") String contractname);

    /**
     * 根据名称获取总条数
     * @param contractname
     * @return
     */
    int countByName(@Param("contractname")String contractname);

    /**
     * 根据id获取当前合同信息
     * @param id
     * @return
     */
    Contractfile findById(@Param("id") int id);

    /**
     * 删除合同
     * @param id 合同编号
     * @return
     */
    int deleteCon(@Param("id")int id);

    /**
     * 添加合同
     * @param contractfile
     * @return
     */
    int insertCon(@Param("con")Contractfile contractfile);

    /**
     * 修改合同
     * @param contractfile
     * @return
     */
    int updateCon(@Param("confile")Contractfile contractfile);

    /**
     * 找到所有
     *
     * @return {@link List}<{@link Contractfile}>
     */
    List<Contractfile> findAll();

    /**
     * 添加合同
     *
     * @param contractfile contractfile
     * @return int
     */
    int addContract(@Param("c") Contractfile contractfile);

    /**
     * 是否签订
     *
     * @param id id
     * @return int
     */
    int isqian(int id);

    /**
     * 找到合同签订信息
     *
     * @param conId 反对id
     * @return {@link List}<{@link EmployeeInfo}>
     */
    List<Contractfile> findEmployee(@Param("conId") int conId);

    /**
     * 查询该员工的合同签订情况
     *
     * @param conId 反对id
     * @return {@link List}<{@link Contractfile}>
     */
    List<Contractfile> findEmployee2(int conId);


    /**
     * 发现缺点,emp id和反面id
     * 查询合同，根据员工id和合同id
     *
     * @param empId emp id
     * @param conId 反对id
     * @return {@link Contractfile}
     */
    Contractfile findConByEmpIdAndConId(@Param("empId") int empId, @Param("conId") int conId);

    /**
     * 根据编号拿到导出数据
     * @param id
     * @return
     */
    Contractfile getExportData(Integer id);
}
